package ren.qinc.edit_demo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Editable; import android.view.Menu; import android.view.MenuItem; import android.widget.EditText; import android.widget.Toast; import ren.qinc.edit.PerformEdit; public class MainActivity extends AppCompatActivity { private EditText mEditText; private PerformEdit mPerformEdit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mEditText = ((EditText) findViewById(R.id.editText)); mPerformEdit = new PerformEdit(mEditText){ @Override protected void onTextChanged(Editable s) { //文本发生改变,可以是用户输入或者是EditText.setText触发.(setDefaultText的时候不会回调) super.onTextChanged(s); } }; mPerformEdit.setDefaultText("这是初始值,不能撤销的值"); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_editor,menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); if(itemId ==R.id.action_undo){ mPerformEdit.undo(); return true; }else if(itemId == R.id.action_redo){ mPerformEdit.redo(); return true; }else if(itemId == R.id.action_clear){ mPerformEdit.clearHistory(); return true; } return super.onOptionsItemSelected(item); } }